﻿using KinonekoSoftware.Expressions;
using KinonekoSoftware.Expressions.Core;

namespace KinonekoSoftware.CodariaDB.Documents.Shenanigans.Talking
{

    public sealed class TalkingWidget : ExpressionBlockNode
    {

        public override ExpressionNode Generate()
        {
            return new TalkingWidget
            {
                Id = GetID(),
            };
        }

        /// <summary>
        /// 是否使用外部数据源
        /// </summary>
        /// <remarks>
        ///     <para>如果是使用外部数据源，请使用ExternalDataSourceID。</para>
        /// </remarks>
        public bool IsExternalReference { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string ReferenceID { get; set; }
        
        public string Name    { get; set; }
        public string Intro   { get; set; }

        public List<string>     Members       { get; set; }
        public List<TalkingObject> Messages { get; set; }
    }
}